package com.css.dzj.zfjg.modules.admpenalty.service;
import com.css.dzj.zfjg.modules.admpenalty.entity.AdmPenaltyEntity;
import com.querydsl.core.QueryResults;
import org.springframework.data.domain.Pageable;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;
import java.util.List;

/**
 * 行政处罚接口
*@Author weitao
*@Date 15:25 2020/5/25
*/
public interface AdmPenaltyService {

    //分页查询行政处罚信息
    QueryResults<AdmPenaltyEntity> queryPage(Pageable pageable);

    //通过id查询行政处罚详细信息
    AdmPenaltyEntity findById(String id);

    //通过ids查询新行政处罚信息
    List<AdmPenaltyEntity> queryByIds(String ids);

    //添加行政处罚信息
    void add(AdmPenaltyEntity admPenaltyEntity);

    //暂存行政处罚信息
    void storage(AdmPenaltyEntity admPenaltyEntity);

    //修改行政处罚信息
    void update(AdmPenaltyEntity admPenaltyEntity);

    //删除行政处罚信息
    Boolean delete(String id);

    //多条件查询行政处罚信息
    QueryResults<AdmPenaltyEntity> getXzcfist(String enforceName,String enforceOrganizationSite, String enforceObject, String breakFact,
                                              String caseSource, String taskStatus,String disposeResult,String penaltyCategory,
                                              String enforceOrganization,String caseCategory,String releaseStartTime,
                                              String releaseEndTime,Pageable pageable);
    //导出选中的行数据
    void exportAdmPenaltyToExcel(HttpServletResponse response, List<AdmPenaltyEntity> admPenaltyEntities);

    //根据参数导出数据到Excel
    List<AdmPenaltyEntity> queryByParams(String enforceName,String enforceOrganizationSite, String enforceObject, String breakFact,
                                         String caseSource, String taskStatus,String disposeResult,String penaltyCategory,
                                         String enforceOrganization,String caseCategory,String releaseStartTime,
                                         String releaseEndTime);
    //导入行政处罚信息
    String uploadFile(MultipartFile file,HttpServletResponse response);

}
